The optimal approach to comparing two names of individuals requires knowledge of how the names being compared are parsed; which elements are given names, which are surnames, and what semantic role is played by each name element. For example, in Spanish names, the leftmost of two surname words is the individual's own family name; “Juan Beltran” is a good match for “Juan Beltran Cabrera,” but “Juan Cabrera” is not, and these distinctions should be captured in comparison scores to avoid false positives. This requires either pre-fielded data or a pre-processing step to determine the parse. Pre-processing, however, adds time to run-time comparisons, or requires additional memory or storage space to retain the parsed output for later use. Therefore, it would be helpful to determine similarity between names without the need to parse the names prior to the comparison.